#include <iostream>
#include <bitset> 
using namespace std;

//int maxL(string& s){
//	int fast = 0;
//	int slow = 0;
//	s += '\0';
//	int len = s.size();
//	int res = 0;
//	while(fast < len){
//		if(s[fast] == '1'){
//			fast++;
//		}else{
//			if(s[slow] == '1'){
//				res = max(res,fast - slow);
//				slow = fast;
//			}else{
//				fast++;
//				slow++;
//			}
//		}
//	}
//	return res;
//}
//int main(){
//	int x;
//	cin>>x;
//	bitset<21> bt(x);
//	string s = bt.to_string();
//	int res = maxL(s);
//	cout<<res<<endl;
//	return 0;
//}


//int main(){
//	int n;
//	cin>>n;
//	int Mcnt = 0;
//	int cnt = 0;
//	while(n){
//		if(n & 1){
//			cnt++;
//			Mcnt = max(Mcnt,cnt);
//		}else{
//			cnt = 0;
//		}
//		n >>= 1;
//	}
//	cout<<Mcnt<<endl;
//	return 0;
//}

int main(){
	int n;
	cin>>n;
	int cnt = 0;
	while(n){
		n = n & (n >> 1);
		cnt++;
	}
	cout<<cnt<<endl;
	return 0;
}





